/* HebSupport - Hebrew support for iPhone
 * Copyright (C) 2009 Aviram Segal (planB) Liraz Elias (Liraz)
*/

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
 * for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

// TextRun from WebCore/platform/graphics/Font.h
class TextRun {
public:
    void* m_characters;
    int m_len;

    bool m_allowTabs;
    int m_xpos;
    int m_padding;
    bool m_rtl;
    bool m_directionalOverride;
    bool m_applyRunRounding;
    bool m_applyWordRounding;
    bool m_disableSpacing;
};

// FloatSize from WebCore/platform/graphics/FloatSize.h
class FloatSize {
private:
    float m_width, m_height;
};

// FloatPoint from WebCore/platform/graphics/FloatPoint.h
class FloatPoint {
private:
    float m_x, m_y;
};


typedef wchar_t UChar;

typedef enum UBiDiReorderingMode {
    UBIDI_REORDER_DEFAULT = 0,
    UBIDI_REORDER_NUMBERS_SPECIAL,
    UBIDI_REORDER_GROUP_NUMBERS_WITH_R,
    UBIDI_REORDER_RUNS_ONLY,
    UBIDI_REORDER_INVERSE_NUMBERS_AS_L,
    UBIDI_REORDER_INVERSE_LIKE_DIRECT,
    UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL,
    UBIDI_REORDER_COUNT
} UBiDiReorderingMode;

typedef enum UBiDiDirection {
	UBIDI_LTR = 0,
	UBIDI_RTL,
	UBIDI_MIXED
} UBiDiDirection;


typedef uint8_t UBiDiLevel;
#define UBIDI_DEFAULT_LTR 0xfe
#define UBIDI_DEFAULT_RTL 0xff
#define UBIDI_MAX_EXPLICIT_LEVEL 61
#define UBIDI_LEVEL_OVERRIDE 0x80

typedef int UErrorCode;
#define U_ZERO_ERROR 0



#define UBIDI_KEEP_BASE_COMBINING       1
#define UBIDI_DO_MIRRORING              2
#define UBIDI_INSERT_LRM_FOR_NUMERIC    4
#define UBIDI_REMOVE_BIDI_CONTROLS      8
#define UBIDI_OUTPUT_REVERSE            16

